{
	arguments: {id : "", list : "@default", showCompleted : "false", maxResults : "20", pageToken : "", 
					updatedMin : "", completedMax : "", completedMin : "", dueMax : "", dueMin : "", 
					showDeleted: "false", showHidden : "false", fields : "short"},
	url: function() {
		if ($args.id === "") {
			if ($args.fields === "all") {
				fields = "";
			} else {
				if ($args.fields === "min") {
					fields = "title";
				} else {
					fields = "id,title,status,due";
				}
				fields = "fields=nextPageToken,items(" + fields + ")";
			}
			
			request = "?" + fields + "&maxResults=" + $args.maxResults +
				"&showCompleted=" + $args.showCompleted;
				
			if ($args.pageToken !== ""){
				request += "&pageToken=" + $args.pageToken;
			}
				
			if ($args.updatedMin !== ""){
				request += "&updatedMin=" + $args.updatedMin;
			}
				
			if ($args.completedMax !== ""){
				request += "&completedMax=" + $args.completedMax;
			}
				
			if ($args.completedMin !== ""){
				request += "&completedMin=" + $args.completedMin;
			}
				
			if ($args.dueMax !== ""){
				request += "&dueMax=" + $args.dueMax;
			}
				
			if ($args.dueMin !== ""){
				request += "&dueMin=" + $args.dueMin;
			}
				
			if ($args.showDeleted === "true"){
				request += "&showDeleted=true";
			}
				
			if ($args.showHidden === "true"){
				request += "&showHidden=true"
			}
		} else {
			request = "/" + $args.id;
		}
		
		return "/lists/" + $args.list + "/tasks" + request;
	}
}